#pragma once 

#include <iostream>
#include <string> 
#include <memory>

#include "tool.hpp" 
#include "http_server.hpp"
//#define PORT 8080 


/*
- 文件名尽量全部小写, 可以包含下划线 (_) 
- 变量名使用小写字母，单词之间使用下划线分隔。
- 函数名使用驼峰命名法，即首字母小写，后面的单词首字母大写，不使用下划线。
- 类名使用驼峰命名法，即每个单词首字母大写，不使用下划线。
- 常量名使用全大写字母，单词之间使用下划线分隔。
*/

void instructionsForUse(char* path)
{
     std::cout << "Usage:\n\t" << path << "port" << std::endl ;
}


int main(int agrc,char* argv[])
{

     if(agrc != 2)
     {
          instructionsForUse(argv[0]) ;
          exit(4);
     }
     int port = atoi(argv[1]) ; 

     std::shared_ptr<HttpServer> http_server(new HttpServer(port));
     http_server->initServer(); 
     http_server->loop();

    return 0 ;
}